#ifndef __HCSR04_H
#define __HCSR04_H
#include "sys.h"

#define     GPIO_HCSR04_TRIG       GPIOB
#define     PIN_HCSR04_TRIG        GPIO_PIN_1
#define     RCC_INIT_HCSR04_TRIG() __HAL_RCC_GPIOB_CLK_ENABLE()
#define     HCSR04_TRIG(x)         do{ \
                                x ? \
                                HAL_GPIO_WritePin(GPIO_HCSR04_TRIG, PIN_HCSR04_TRIG, GPIO_PIN_SET) : \
                                HAL_GPIO_WritePin(GPIO_HCSR04_TRIG, PIN_HCSR04_TRIG, GPIO_PIN_RESET); \
                                } while(0U)
#define     TOGGLE_HCSR04_TRIG()   do{ \
                                HAL_GPIO_TogglePin(GPIO_HCSR04_TRIG, PIN_HCSR04_TRIG); \
                                } while(0U)

#define     GPIO_HCSR04_ECHO       GPIOB
#define     PIN_HCSR04_ECHO        GPIO_PIN_0
#define     RCC_INIT_HCSR04_ECHO() __HAL_RCC_GPIOB_CLK_ENABLE()
#define     HCSR04_ECHO             HAL_GPIO_ReadPin(GPIO_HCSR04_ECHO, PIN_HCSR04_ECHO)


void hcsr04_init(void);
uint32_t hcsr04_disp_get(void);

#endif
